#!/usr/bin/env python

RPC_LSARPC_SRC = '''lsa/srv_lsa_nt.c ../../librpc/gen_ndr/srv_lsa.c'''
RPC_NETLOGON_SRC = '''netlogon/srv_netlog_nt.c ../../librpc/gen_ndr/srv_netlogon.c'''
RPC_SAMR_SRC = '''samr/srv_samr_nt.c
               samr/srv_samr_util.c
               samr/srv_samr_chgpasswd.c
               ../../librpc/gen_ndr/srv_samr.c'''
RPC_INITSHUTDOWN_SRC = '''initshutdown/srv_initshutdown_nt.c ../../librpc/gen_ndr/srv_initshutdown.c'''
RPC_WINREG_SRC = '''winreg/srv_winreg_nt.c ../../librpc/gen_ndr/srv_winreg.c'''
RPC_DSSETUP_SRC = '''dssetup/srv_dssetup_nt.c ../../librpc/gen_ndr/srv_dssetup.c'''
RPC_SRVSVC_SRC = '''srvsvc/srv_srvsvc_nt.c ../../librpc/gen_ndr/srv_srvsvc.c'''
RPC_WKSSVC_SRC = '''wkssvc/srv_wkssvc_nt.c ../../librpc/gen_ndr/srv_wkssvc.c'''
RPC_SVCCTL_SRC = '''svcctl/srv_svcctl_nt.c svcctl/srv_svcctl_reg.c ../../librpc/gen_ndr/srv_svcctl.c'''
RPC_NTSVCS_SRC = '''ntsvcs/srv_ntsvcs_nt.c ../../librpc/gen_ndr/srv_ntsvcs.c'''
RPC_NETDFS_SRC = '''dfs/srv_dfs_nt.c ../../librpc/gen_ndr/srv_dfs.c'''
RPC_SPOOLSS_SRC = '''spoolss/srv_spoolss_nt.c ../../librpc/gen_ndr/srv_spoolss.c
                     spoolss/srv_spoolss_util.c'''
RPC_EVENTLOG_SRC = '''eventlog/srv_eventlog_nt.c eventlog/srv_eventlog_reg.c ../../librpc/gen_ndr/srv_eventlog.c'''
RPC_RPCECHO_SRC = '''echo/srv_echo_nt.c ../../librpc/gen_ndr/srv_echo.c'''
RPC_EPMAPPER_SRC = '''epmapper/srv_epmapper.c ../../librpc/gen_ndr/srv_epmapper.c'''

bld.SAMBA3_SUBSYSTEM('rpc',
                    source='',
                    deps='RPC_PIPE_REGISTER',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_CONFIG',
                    source='rpc_config.c',
		    deps='talloc')

bld.SAMBA3_SUBSYSTEM('RPC_NCACN_NP',
                    source='rpc_ncacn_np.c rpc_handles.c rpc_contexts.c',
                    deps='RPC_CONFIG auth auth_sam_reply RPC_PIPE_REGISTER npa_tstream')

bld.SAMBA3_SUBSYSTEM('RPC_SERVICE',
                    source='rpc_server.c',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('RPC_CRYPTO',
                     source='dcesrv_auth_generic.c',
                     deps = 'KRB5_PAC')

bld.SAMBA3_SUBSYSTEM('RPC_PIPE_REGISTER',
                    source='srv_pipe_register.c',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('RPC_SERVER_REGISTER',
                    source='rpc_ep_register.c ../librpc/rpc/dcerpc_ep.c',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('EPMD',
                    source='epmd.c',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('LSASD',
                    source='lsasd.c',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('SRV_ACCESS_CHECK',
                    source='srv_access_check.c',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('RPC_SAMR',
                    source=RPC_SAMR_SRC,
                    deps='PLAINTEXT_AUTH SRV_ACCESS_CHECK',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_LSARPC',
                    source=RPC_LSARPC_SRC,
                    deps='SRV_ACCESS_CHECK LIBLSA',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_WINREG',
                    source=RPC_WINREG_SRC,
                    deps='REG_FULL REGFIO REG_API_REGF NDR_PERFCOUNT',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_INITSHUTDOWN',
                    source=RPC_INITSHUTDOWN_SRC,
                    deps='samba-util',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_DSSETUP',
                    source=RPC_DSSETUP_SRC,
                    deps='samba-util',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_WKSSVC',
                    source=RPC_WKSSVC_SRC,
                    deps='LIBNET',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_SVCCTL',
                    source=RPC_SVCCTL_SRC,
                    deps='SERVICES LIBCLI_WINREG_INTERNAL',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_NTSVCS',
                    source=RPC_NTSVCS_SRC,
                    deps='samba-util',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_NETLOGON',
                    source=RPC_NETLOGON_SRC,
                     deps='RPC_NCACN_NP',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_NETDFS',
                    source=RPC_NETDFS_SRC,
                    deps='samba-util',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_SRVSVC',
                    source=RPC_SRVSVC_SRC,
                    deps='samba-util tdb',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_SPOOLSS',
                    source=RPC_SPOOLSS_SRC,
                    deps='PRINTING PRINTBACKEND LIBCLI_WINREG_INTERNAL RPC_NCACN_NP',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_EVENTLOG',
                    source=RPC_EVENTLOG_SRC,
                    deps='LIBEVENTLOG LIBCLI_WINREG_INTERNAL',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_RPCECHO',
                    source=RPC_RPCECHO_SRC,
                    deps='samba-util',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_EPMAPPER',
                    source=RPC_EPMAPPER_SRC,
                    deps='samba-util',
                    vars=locals())

bld.SAMBA3_SUBSYSTEM('RPC_SERVER',
                    source='srv_pipe_hnd.c srv_pipe.c rpc_sock_helper.c rpc_service_setup.c',
                    deps='''RPC_CONFIG RPC_NCACN_NP RPC_SERVICE RPC_CRYPTO
                          RPC_SAMR RPC_LSARPC RPC_WINREG RPC_INITSHUTDOWN
                          RPC_DSSETUP RPC_WKSSVC RPC_SVCCTL RPC_NTSVCS
                          RPC_NETLOGON RPC_NETDFS RPC_SRVSVC RPC_SPOOLSS
                          RPC_EVENTLOG RPC_RPCECHO RPC_SERVER RPC_EPMAPPER
                          RPC_SERVER_REGISTER NDR_NAMED_PIPE_AUTH''')
